1. 가상화 기초지식

1. 가상화: 물리적 구성에 얽매이지 않는 유연성과 가용성

가상화를 사용하면 물리적인 실체와 다른 구성으로 서비스를 구축할 수 있음. 예를 들어 물리 서버 1대 위에 가상 서버 여러 대를 올리거나, 반대로 여러 대의 서버를 사용자에게 1대처럼 보이게 만들 수도 있음.

용어 정리

  • 가상화 (Virtualization): 실체가 없는 것을 마치 존재하는 것처럼 보이게 하는 기술
  • 호스트 OS (Host OS): 물리 서버에 직접 설치되어 가상화 소프트웨어를 구동하는 운영체제
  • 게스트 OS (Guest OS): 가상 서버 위에서 동작하는 운영체제
  • 이중화 / 다중화: 동일한 시스템을 여러 개 준비해 한쪽이 고장 나도 다른 쪽이 처리를 이어받게 하는 구성

1.1. 가상화란 무엇인가

가상화의 두 가지 모습:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[1대 → N대]
┌──────────────┐
│  물리 서버 1   │
│  ┌─────┬─────┐│
│  │가상서버│가상서버│
│  │  A   │  B  ││
│  └─────┴─────┘│
└──────────────┘
1대의 물리 서버를
여러 가상 서버로 분할

[N대 → 1대로 보이게]
┌────┬────┬────┐
│서버1│서버2│서버3│
└────┴────┴────┘
       ↓
   사용자에게는
   서버 1대처럼 보임

활용:
→ 고장 난 서버는 자동 분리
→ 다른 서버가 처리 인계
→ 이중화/다중화로 무중단 운영

1.2. 가상화의 개념

가상화 계층 구조:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌───────────────────────────┐
│  애플리케이션 / 게스트 OS    │
├───────────────────────────┤
│      가상화 소프트웨어        │
│   (실제 하드웨어처럼 동작)    │
├───────────────────────────┤
│         호스트 OS            │
├───────────────────────────┤
│         물리 서버            │
└───────────────────────────┘

핵심:
→ 가상화 소프트웨어가 실제 하드웨어처럼
   움직이기 때문에 그 위의 프로그램은
   진짜 하드웨어 위에서 동작하는 것과
   동일하게 작동함

1.3. 유연성

물리적 환경의 제약을 받지 않고 환경을 구축할 수 있음.

1.4. 가용성 향상

용어 정리

  • 가용성 (Availability): 시스템을 장애 없이 계속 사용할 수 있는지 여부를 나타내는 지표

가상화를 이용하면 가상 환경을 환경별로 백업해 둘 수 있음. 가상 환경이 고장 나도 백업에서 곧바로 복원 가능함. 단, 물리 서버 자체의 전원이 내려가면 그 위의 가상 환경도 모두 사용할 수 없게 되는 한계는 존재.


2. 가상화의 종류

가상화의 분류:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[가상화]
   │
   ├─→ 서버 가상화
   │    └─ 물리 서버를 가상화
   │
   ├─→ 네트워크 가상화
   │    └─ 네트워크 기기/설비를 가상화
   │
   ├─→ 스토리지 가상화
   │    └─ HDD/SSD 등 저장장치를 가상화
   │
   └─→ 데스크톱 가상화
        └─ 데스크톱 환경을 가상화

2.1. 서버 가상화

물리 서버를 가상화하는 것. 가상 서버는 호스트 OS와 다른 OS로도 구축 가능. 물리 서버의 사양이 높을수록 동시 실행 가능한 가상 서버 수가 늘어남.

서버 가상화 통신 구조:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[물리 서버 A]                [물리 서버 B]
┌──────────┬──────────┐      ┌──────────┐
│가상서버 A1│가상서버 A2│      │ 호스트 OS │
│ (DB 설치) │           │      │           │
└─────┬─────┴─────┬─────┘      └─────┬─────┘
      │           │                 │
      └───────────┼─────────────────┘
                  │
              네트워크
                  │
   ↓ 가상서버 A1의 DB를 다른 가상서버 / 물리서버에서 참조

2.2. 네트워크 가상화

네트워크 기기 및 설비 같은 물리적 네트워크 구성을 가상화함.

2.3. 그 외의 가상화

종류 대상 특징
스토리지 가상화 HDD, SSD 등 저장장치 물리 스토리지 1개를 여러 논리 스토리지로 분할하거나, 여러 물리 스토리지를 1개로 묶어 처리
데스크톱 가상화 데스크톱 환경 가상 데스크톱이 서버에서 실행됨. 파일/앱이 모두 서버에 보존되므로 보안성이 높음. 사용자는 네트워크로 접근

3. 가상화의 장단점

3.1. 장점

물리 서버 vs 가상 서버 (장애 복구):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[물리 서버 장애]
    ↓
대체 서버 구매
    ↓
OS 설치
    ↓
애플리케이션 재설치
    ↓
환경 재구축
    ↓
✗ 비용 발생
✗ 복구 시간 오래 걸림


[가상 서버 장애]
    ↓
백업 파일에서 복원
    ↓
✓ 데이터(소프트웨어)이므로 백업이 쉬움
✓ 패키지화된 파일 1개만 복사
✓ 외부 디스크에도 백업 가능
✓ 빠른 복구

스케일링의 자유도

가상 서버는 데이터이므로 CPU/메모리 등을 필요에 따라 증감해 스펙을 변경할 수 있고, 복사/삭제도 쉬움. 동일한 환경의 가상 서버를 여러 개 복제해 동시에 시작하는 것도 가능.

용어 정리

  • 스케일 업 (Scale Up): 서버 자체의 스펙(CPU, 메모리 등)을 증강하는 것
  • 스케일 아웃 (Scale Out): 서버의 수를 늘리는 것
  • 스케일 인 (Scale In): 서버의 수를 줄이는 것

스케일링 방식:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Scale Up - 수직 확장]
┌────┐        ┌────────┐
│ 1대 │  →    │  1대    │
│저사양│        │ 고사양  │
└────┘        └────────┘
서버 자체의 스펙을 강화

[Scale Out - 수평 확장]
┌────┐        ┌────┬────┬────┐
│ 1대 │  →    │ 1대 │ 2대 │ 3대 │
└────┘        └────┴────┴────┘
서버 대수를 늘림

[Scale In - 수평 축소]
┌────┬────┬────┐        ┌────┐
│ 1대 │ 2대 │ 3대 │  →   │ 1대 │
└────┴────┴────┘        └────┘
서버 대수를 줄임

네트워크 가상화의 장점

3.2. 단점

가상화 도입 판단 기준:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[큰 시스템 / 장애 영향이 큼]
    └─→ 가상화 도입 권장

[소규모 서비스]
[장애 영향이 작은 시스템]
    └─→ 무리하게 도입할 필요 없음

→ 서비스 비용과 가상화 운영 비용을 비교
→ 효율적인지 판단

4. 가상화와 클라우드

4.1. 클라우드란

클라우드는 가상화 기술을 기반으로 구성된 서비스를 말하며, 인터넷을 통해 접근할 수 있음. 사용자는 인프라나 소프트웨어가 없어도 인터넷을 통해 다양한 인프라/서비스를 사용할 수 있음.

용어 정리

  • SaaS (Software as a Service): 소프트웨어로 제공되는 클라우드 서비스. 이미 완성된 제품을 그대로 이용
  • PaaS (Platform as a Service): 플랫폼으로 제공되는 클라우드 서비스. 애플리케이션 구축에 필요한 환경(스토리지 등)을 제공하고 사용자가 그 위에 앱을 구축
  • IaaS (Infrastructure as a Service): 인프라로 제공되는 클라우드 서비스. DB나 네트워크 환경 구축까지 사용자 책임. 자유도가 높지만 전문 지식이 더 필요

클라우드 서비스 모델 비교:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

           [SaaS]    [PaaS]    [IaaS]
            ───       ───       ───
애플리케이션 │제공 │   │사용자│   │사용자│
데이터       │제공 │   │사용자│   │사용자│
런타임       │제공 │   │제공 │   │사용자│
미들웨어     │제공 │   │제공 │   │사용자│
OS           │제공 │   │제공 │   │제공 │
가상화       │제공 │   │제공 │   │제공 │
서버         │제공 │   │제공 │   │제공 │
스토리지     │제공 │   │제공 │   │제공 │
네트워크     │제공 │   │제공 │   │제공 │

자유도:    낮음  ──────────────→  높음
필요 지식: 적음  ──────────────→  많음

예시:
SaaS → Gmail, OneDrive, Office 365
PaaS → Heroku, AWS Elastic Beanstalk
IaaS → AWS EC2, Azure VM

4.2. 클라우드를 지탱하는 가상화

마이크로소프트의 OneDrive는 SaaS형 온라인 스토리지의 대표적인 예시. 계정당 5GB 무료 제공.

온라인 스토리지의 동작 방식:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[잘못된 이해]
사용자 A → 5GB 디스크 (전용 할당)
사용자 B → 5GB 디스크 (전용 할당)
사용자 C → 5GB 디스크 (전용 할당)
    ↓
✗ 사용하지 않는 공간이 낭비됨

[실제 동작 - 스토리지 가상화]
[물리 디스크 풀]
        ↓
[필요할 때마다 동적 할당]
        ↓
사용자 A: 1.2GB 사용 중
사용자 B: 0.5GB 사용 중
사용자 C: 4.8GB 사용 중
    ↓
✓ 물리 공간을 효율적으로 활용
✓ 논리적으로는 5GB씩 보임

클라우드는 스토리지뿐 아니라 서버도 가상화되어 있음. 사용자에게는 접속하는 서버가 1개로 보이지만, 실제로는 여러 서버가 역할을 분담함.

클라우드 서버의 가상화 목적:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[사용자에게 보이는 모습]
       사용자
         ↓
       서버 1대

[실제 내부 구성]
       사용자
         ↓
   ┌─────────────┐
   │로드 밸런서   │
   └─┬───┬───┬───┘
     ↓   ↓   ↓
   ┌──┐┌──┐┌──┐
   │서1││서2││서3│
   └──┘└──┘└──┘

목적:
├─ 역할 분산
├─ 로드 밸런싱
└─ 리스크 분산

5. 클라우드 보안

5.1. 클라우드 보안의 특징

클라우드 서비스의 보안 수준은 매우 높음.

다만 클라우드만이 가진 리스크도 존재함. 예를 들어 악의적 사용자가 클라우드를 통째로 도용하면 호스트 컴퓨터까지 침입할 가능성이 있음.

5.2. 실제 사례 - VENOM 취약점

용어 정리

  • VENOM (Virtualized Environment Neglected Operations Manipulation): 하이퍼바이저형 가상화의 가상 플로피 디스크 컨트롤러에서 발견된 버퍼 오버플로 취약점 (CVE-2015-3456)
  • 버퍼 오버플로 (Buffer Overflow): 할당된 메모리 버퍼의 경계를 넘어 데이터를 기록하여 인접 메모리 영역을 덮어쓰는 취약점

VENOM 공격 흐름:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[1단계] 정상 가입
공격자 → 클라우드 서비스에
        일반 사용자로 가입
    ↓

[2단계] 가상 서버 관리자 권한 획득
공격자 → 자신의 가상 서버에
        관리자로 로그인
    ↓

[3단계] 가상 플로피 디스크 드라이브 공격
공격자 → 가상 플로피 디스크의
        버퍼 오버플로 취약점 공격
    ↓

[4단계] 권한 상승
게스트 OS 침해
    ↓
호스트 OS까지 공격 범위 확장
    ↓
다른 사용자의 가상 서버에도 영향 가능

핵심:
→ 하이퍼바이저형 가상화의 위험성
→ 가상화 환경에서도 격리가 깨질 수 있음

5.3. 편의성과 보안의 절충

클라우드 보안의 양면성:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[편의성]
온라인 스토리지로 어디서든 접근 가능
    ↓
[리스크]
모든 단말 중 1개라도 악성 코드 감염 시
    ↓
연결된 다른 단말로 확산 위험

[대응 방안]
├─ 클라우드 제공 업체
│  ├─ 높은 보안 기술 보유
│  └─ 취약점 항상 숙지
│
└─ 클라우드 사용 기업
   ├─ 사내 보안 관리자 배치
   └─ 장애 발생 시 대응 체계 마련

참고: 디지털 트랜스포메이션(DX)과 가상화

용어 정리

  • 디지털 트랜스포메이션 (DX, Digital Transformation): IT 기술의 진화가 사람들의 삶에 깊이 스며들어 더 나은 환경으로 이끌어간다는 개념

DX 이전 vs 이후:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[DX 이전]
개인 → 기관 A 등록 (개인정보)
개인 → 기관 B 등록 (개인정보)
개인 → 기관 C 등록 (개인정보)
    ↓
주소 변경 시 기관마다 개별 신청 필요
✗ 번거로움
✗ 개인정보가 분산 관리됨


[DX 이후]
       개인
         ↓
    [본인 인증]
         ↓
   ┌─────────────┐
   │클라우드 DB    │← 공통 개인정보
   └─┬───┬───┬───┘
     ↓   ↓   ↓
   기관A 기관B 기관C
    ↓
✓ 1번 변경으로 전체 반영
✓ 개인정보를 기관 간 공유
✓ 사용자 편의성 향상

핵심:


핵심 요약

1장 가상화 기초지식 요약:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[가상화란]
└─ 실체 없는 것을 있는 것처럼 보이게 하는 기술
   ├─ 1대 → N대 (서버 분할)
   └─ N대 → 1대 (서버 통합)

[가상화의 종류]
├─ 서버 가상화
├─ 네트워크 가상화
├─ 스토리지 가상화
└─ 데스크톱 가상화

[장단점]
├─ 장점: 백업/복구 용이, 스케일링 자유, 비용 절감
└─ 단점: 전문 지식 필요, 물리 서버 의존

[스케일링]
├─ Scale Up: 스펙 강화 (수직)
├─ Scale Out: 대수 증가 (수평 +)
└─ Scale In: 대수 감소 (수평 -)

[클라우드]
├─ SaaS: 완성된 소프트웨어
├─ PaaS: 플랫폼 환경
└─ IaaS: 인프라

[보안]
├─ 일반적으로 보안 수준 높음
├─ VENOM 같은 가상화 고유 리스크 존재
└─ 사용자 측 보안 관리도 필요

결론:
→ 가상화 = 클라우드의 기반 기술
→ DX 시대를 지탱하는 핵심

참고 자료

관련 자료:


네비게이션

목록 다음 강
목록으로 2. 가상화의 원리와 기술 ▶